// package dependency 底层依赖接口定义，各个领域依赖的底层接口
package dependency

import (
	"gluenet/internal/glue-srvp/domain/entity"
)

type GuidCLI interface {
	Register(obj *entity.RegisterOrder) (string, error)
	UnRegister(guid string) error
}

type InstanceCLI interface {
	//StartObject(GUID string, Runtime interface{}) error
	//StopObject(GUID string, Runtime interface{}) error
	CreateObject(obj *entity.Instance) error
	RemoveObject(obj *entity.Instance) error
	// well
	InfoStrategy(strategy string, bestApp, guarantApp []string) (interface{}, error)
}

type MetricCLI interface {
	UpdateInstanceContainerMetric(obj *entity.Instance) error
	UpdateAgentNodesMetric(obj *entity.Agent) error
}
